Когда мы перешли от разработки веб-сайтов, страницы которых формируются на сервере, к созданию одностраничных веб-приложений, которые рендерятся на клиенте, мы приняли определённые правила игры. Одно из них — аккуратное обращение с ресурсами на устройстве пользователя. Это значит — не блокировать главный поток, не «раскручивать» вентилятор ноутбука, не сажать батарею телефона. Мы обменяли улучшение интерактивности веб-проектов, и то, что их поведение стало больше похоже на поведение обычных приложений, на новый класс проблем, которых не существовало в мире серверного рендеринга.
Рубрика «разработка» - 70
Борьба с утечками памяти в веб-приложениях
2020-03-02 в 9:30, admin, рубрики: javascript, Блог компании RUVDS.com, разработка, Разработка веб-сайтовПлагин для мониторинга K8s-приложений DevOpsProdigy KubeGraf v1.3.0: новый релиз и новые фичи
2020-03-02 в 8:58, admin, рубрики: diy или сделай сам, github, Grafana, ITSumma, k8s, kubernetes, Блог компании ITSumma, плагин, разработка, системное программированиеНа этой неделе состоялся релиз новой версии нашего плагина для Grafana, предназначенного для мониторинга kubernetes-приложений DevOpsProdigy KubeGraf v1.3.0.
Небольшой дисклеймер: данный плагин является переработанной версией официального плагина от Grafana (который не поддерживается уже около двух лет). Мы разрабатываем его уже больше полугода. Ключевыми особенностями плагина являются:
- интеграция с k8s-api для построения карты ваших приложений, сгруппированных по неймспейсам / нодам-кластера + привязка к конкретным pod’ам/сервисам;
- сводная страница со всеми ошибками / предупреждениями о работе нод и приложений кластера;
- возможность инсталляции плагина с облачными k8s-провайдерами через авторизацию с помощью bearer-tokena.
Что нового в версии 1.3.0:
Читать полностью »
Работа с GeoJSON в среде Node.js: практическое знакомство
2020-02-28 в 9:00, admin, рубрики: GeoJSON, javascript, node.js, Блог компании RUVDS.com, Геоинформационные сервисы, разработка, Разработка веб-сайтовGeoJSON — это стандартизованный формат представления географических структур данных, основанный на JSON. Существует множество замечательных инструментов для визуализации GeoJSON-данных. При этом данный формат хорош не только в деле хранения координат неких точек. Он, помимо точек, позволяет описывать и другие объекты: линии, полигоны, коллекции объектов.
Об изменчивых методах объекта Math в JavaScript
2020-02-27 в 10:00, admin, рубрики: javascript, Блог компании RUVDS.com, разработка, Разработка веб-сайтовСегодня мы публикуем перевод статьи о математических вычислениях в JavaScript, которая представляет собой письменный вариант выступления её автора на WaffleJS. А само это выступление было чем-то вроде продолжения этой беседы в Twitter.

Математическое образование
Читать полностью »
Понимание спецификации ECMAScript, часть 1
2020-02-27 в 4:46, admin, рубрики: ECMAScript, javascript, Specification, Программирование, разработка, Разработка веб-сайтов, спецификация
Доброго времени суток, друзья!
В данной статье мы возьмем функцию из спецификации и разберем ее объяснение. Поехали.
Предисловие
Даже если вы хорошо знаете JavaScript, чтение спецификации может быть затруднительным. Следующий код демонстрирует использование Object.prototype.hasOwnProperty:
const o = {
foo: 1
}
o.hasOwnProperty('foo') // true
o.hasOwnProperty('bar') // false
В примере объект «o» не имеет метода «hasOwnProperty», поэтому мы обращаемся к его прототипу — «Object.prototype» (цепочка прототипов).
Для описания того, как работает Object.hasOwnProperty, в спецификации используется следующий псевдокод:
Читать полностью »
Стилизация старого доброго элемента button
2020-02-26 в 10:00, admin, рубрики: css, html, javascript, Блог компании RUVDS.com, разработка, Разработка веб-сайтовКнопка — это один из тех элементов, которые чаще всего используются на веб-страницах. Тег <button></button> может быть применён для запуска некоего процесса вроде вывода данных, открытия модального окна, отправки формы и так далее. В материале, перевод которого мы публикуем, речь пойдёт о тонкостях стилизации элемента button и о том, как оформлять кнопки с учётом того, чтобы они хорошо работали бы в любых браузерах. Кроме того, тут будет рассмотрено большинство часто используемых стилей кнопок. Поговорим мы здесь и о некоторых сложностях, которые возникают при работе с кнопками.
JavaScript и кое-что ещё: 4 креативных подхода к измерению времени в браузерах
2020-02-26 в 9:30, admin, рубрики: javascript, Блог компании RUVDS.com, браузеры, разработка, Разработка веб-сайтовАвтор статьи, перевод которой мы сегодня публикуем, решил рассказать о нескольких необычных способах измерения времени в браузерах. Для их использования понадобится доступ к различным API, которые применяются в веб-разработке, поэтому они не подходят для платформы Node.js. Правда, если кто-то нуждается в необычном способе измерения времени в Node.js, то, полагаем, после прочтения этого материала у него могут появиться кое-какие идеи на этот счёт.
Интеграция Gitlab, Jira и Confluence на Python для автоматизации сборки релизов
2020-02-25 в 19:53, admin, рубрики: gitlab, jira, python, Питон, Программирование, разработкаНедавно на стендапе коллега внес рацпредложение: автоматизировать сборку релизов, взяв за основу готовые уже наработки по взаимодействию с Jira, написанные на Python.
Процесс деплоя у нас следующий: когда накапливается достаточное количество задач, прошедших тестирование из них собирается Релиз-кандидат (RC) в каждом проекте, затронутом задачами, затем задачи тестируются в составе RC. После этого RC заливается на стейджинг сервер, где в близком к боевому окружении все еще раз тестируется и проводится полный регресс. И затем, после необходимых деплойных действий свежий релиз заливается в мастер.
До недавнего времени весь процесс сборки проводился кем-либо из разработчиков вручную. Что отнимало час, два и больше времени и было, мне кажется, не очень интересным занятием. Теперь же, когда уже почти все готово, релиз из 20 задач, затрагивающий 5 проектов, собирается меньше минуты. Остается, конечно еще разрешение конфликтов, запуск пропущенных тестов и прочее, но даже с учетом этого, времени разработчиков и тестировщиков, вынужденных ждать, пока кто-то и первых освободится и создаст RC, экономится немало.
В общем, приступил я к задаче, и она оказалась очень интересной и увлекательной. А что еще надо для удовольствия от работы, как не увлекательных проектов?
Читать полностью »
29 февраля в ЦДП состоится X5 RetailHero: как попасть на первую конференцию Х5 по Data Science и разработке
2020-02-25 в 11:30, admin, рубрики: AI, big data, data science, retail, базы данных, искусственный интеллект, разработка, риск-менеджмент, хакатон29 февраля в «Цифровом деловом пространстве» (ЦДП, Москва, улица Покровка 47) состоится конференция X5 Retail Hero, посвященная Data Science и разработке в сфере ритейла. Участие бесплатное, необходима предварительная регистрация.
Конференция приурочена к финалу одноименного соревнования X5 Retail Group. Между выступлениями экспертов организаторы объявят победителей, представивших лучшие решения для цифровизации розничной торговли.
Генерирование псевдослучайных чисел с помощью клеточного автомата: Правило 30
2020-02-25 в 9:34, admin, рубрики: Блог компании RUVDS.com, математика, разработка, Разработка веб-сайтовГенераторы псевдослучайных чисел выдают числа детерминировано, но обычно такие числа выглядят непериодическими (случайными). По крайней мере, в большинстве случаев применения подобных чисел так обычно и происходит. Генератор принимает начальное значение (в идеале — истинное случайное число) и порождает последовательность чисел, работая как функция от начального значения и (или) от предыдущего числа последовательности. Подобные числа являются псевдослучайными (а не истинными случайными числами) из-за того, что если известно начальное значение, переданное генератору, эти числа можно сгенерировать снова алгоритмическим путём. Истинные случайные числа генерируют, используя специальное аппаратное обеспечение или некие физические явления — пульсовые колебания объёма крови, атмосферное давление, тепловой шум, квантовые процессы и так далее.
Существует множество способов генерирования псевдослучайных чисел. Например — алгоритм Блюма — Блюма — Шуба, метод средних квадратов, метод Фибоначчи с запаздываниями. Сегодня мы поговорим о генерировании случайных чисел с помощью Правила 30, которое использует неоднозначный подход, предусматривающий применение модели клеточного автомата. Этот метод прошёл множество стандартных тестов на случайность чисел и использовался в системе Mathematica для генерирования случайных целых чисел.
Читать полностью »






