Pull to refresh
50
Karma
0
Rating
Александр Клёнов @1div0

Пользователь

Как мы сжимаем данные в больших проектах

VK corporate blog High performance *Database Administration *Distributed systems *Tarantool *

Привет! Меня зовут Александр Кленов, и я работаю в Tarantool. В апреле вышел Tarantool 2.10 Enterprise Edition – обновленная версия платформы in-memory вычислений. В версии 2.10 появилось несколько новых функций, о которых уже немного рассказывали на Хабре

В этой статье я хочу подробнее остановиться на одной из фичей — сжатии данных в оперативной памяти. Далее я расскажу, как ей пользоваться, что может, а чего не может данный механизм, как его применять и какие существуют особенности.

Читать далее
Total votes 56: ↑56 and ↓0 +56
Views 5.8K
Comments 8

ACME-client for Tarantool

Information Security *Lua *Tarantool *
Tutorial

Link to GitHub. More details about the operation of the algorithm and the module can be found here.

The ACME protocol client is used to automatically obtain a security certificate for your site. Basically everyone uses Let's Encrypt to get a free certificate and auto-renewal. But there are other services, such as Zero SSL. It also supports the ACME protocol.

I relied on two articles from Habr (this and this), as well as RFC8555. But the information in them was not enough to implement their own version of the modulation. At least several times higher than several implementations of the module [at another level]. The tests were conducted on a live service, so there are no autotests yet. You can write and init pull request.

The module is written under Linux. Only the second version of the protocol is considered.

More...
Rating 0
Views 804
Comments 0

Модуль ACME-клиента для Tarantool

Information Security *Lua *Tarantool *
Tutorial

Ссылка на GitHub. Подробнее о работе алгоритма и модуля можно посмотреть здесь.

Клиент ACME-протокола используется для автоматического получения сертификата безопасности для вашего сайта. Для бесплатного получения сертификата и автоматического его продления в основном все используют Let's Encrypt. Но и есть другие сервисы, например Zero SSL. Он тоже поддерживает ACME-протокол.

Я опирался на две статьи с Хабра (эту и эту), а также RFC8555. Но информации в них оказазалось недостаточно, для того, чтобы реализовать собственный вариант модуля. Примерно половину нужной информации потребовалось дополнительно извлечь из нескольких реализаций данного модуля на других языках. Тесты проводил на живом сервисе, поэтому автотестов пока нет. Можете написать и сделать пулл реквест.

Модуль написан под Linux. В статье подробно разобран алгоритм работы - при необходимости Вы можете дописать его под другую ОС. Рассматривается только вторая версия протокола.

Читать далее
Total votes 5: ↑5 and ↓0 +5
Views 1.2K
Comments 7

Go. FakeDb. Эмуляция работы БД в тестах

Go *
Tutorial

На днях писал тесты для модуля, который взаимодействует с базой данных. Привязывать модуль тестов к настоящей базе данных не хотелось — это создаёт дополнительные требования к окружению, где будет выполняться тестирование. Создавать сразу экземпляры типа sql.Rows, с нужными табличками также не хотелось — для меня этот тип "чёрный ящик", и хотелось бы, чтобы так оно и оставалось. Поиском по теме ничего интересного также не нашлось.


Захотел поделиться с сообществом своей находкой: в основной поставке Go, есть почти готовый инструмент для таких нужд: называется FakeDb.

Читать дальше →
Total votes 8: ↑6 and ↓2 +4
Views 4.8K
Comments 9

Поиск JS-фреймворка для генерации UI

JavaScript *HTML *Node.JS *API *Development for e-commerce *


Как-то я захотел попробовать реализовать одно маленькое клиент-серверное приложение. Реализация в задумке была такая: на клиентской стороне рисуем с помощью какого-нибуть JS-фреймворка окошки, на серверной стороне обрабатываем вызовы с клиента с помощью скомпилированного приложения, написанного например на Go.


Я начал подбирать фреймворк, предоставляющий декларативный интерфейс. В моём представлении он на входе должен получать в максимально упрощённом виде описание содержимого формы (например в формате YAML, JSON, BEMJSON, XML, или даже INF), а на выходе рисовать в браузере красивую форму с работающими элементами управления.


Профессионально я веб-разработкой не занимаюсь и поэтому не ожидал, что надолго застряну на данном этапе.


И статью писать не собирался, но потом подумал, что свежий взгляд со стороны на современные веб-технологии, пусть даже новичка, может быть интересен сообществу. Возможность получить обратную связь опять же…

Читать дальше →
Total votes 14: ↑13 and ↓1 +12
Views 15K
Comments 94

Обзор JavaScript-сканнеров штрихкодов

Open source *JavaScript *Image processing *API *
Недавно появилась идея сэкономить на ТСД на складе и попробовать использовать вместо них обычные дешёвые мобильники (даже без пылезащиты). Интерфейс планирую реализовать в виде веб-приложения (обычные веб-странички, HTML + CSS + JS).

Для того, чтобы всё получилось, необходимо научить веб-странички сканировать штрихкода через камеру телефона. Получить данные с камеры достаточно просто. Основная работа состоит в обработке кадра. Под катом обзор существующих готовых решений и много картинок.


Читать дальше →
Total votes 18: ↑18 and ↓0 +18
Views 33K
Comments 27

Ещё немного критики 1С

System Analysis and Design *ERP-systems *
Не так давно был очередной пост с критикой 1С. Пост хороший, но… как то мимо. Стоит поддержать коллегу, и дополнительно указать на некоторые важные моменты.


Читать дальше →
Total votes 35: ↑30 and ↓5 +25
Views 31K
Comments 152

Зачем гнуть дорожки?

Electronics for beginners


Каждый начинающий радиолюбитель обращал внимание на дополнительные петли непонятного назначения на печатных платах. Зачем гнуть дорожку, создавать дополнительные помехи, если рациональнее сделать дорожку прямой?

Читать дальше →
Total votes 119: ↑111 and ↓8 +103
Views 91K
Comments 118

Ещё одна версия настройки TFS под командную работу

Agile *
Tutorial
Структура публикации

  • Немного о том – почему так?
  • Схема работы команд разработки под которую делается настройка
  • Настройка XML-ек
  • Сохранение XML-ек
  • Настройка TFS через интерфейс


Использовалась TFS 2015, однако многое справедливо и для более ранних версий.
Читать дальше →
Total votes 14: ↑12 and ↓2 +10
Views 18K
Comments 2

Самодиагностика МЕМС акселерометра, гироскопа и компаса (self test)

DIY Electronics for beginners
Изучая спецификацию (datasheet) на МЕМС-датчик (акселерометр, гироскоп и проч.) мы сталкиваемся с такой процедурой, как самопроверка (self-test) или самодиагностика. Обычно в спецификациях есть описание, как это делать. Кому интересно: что это и как это правильно делать? — добро пожаловать под кат.


Читать дальше →
Total votes 19: ↑19 and ↓0 +19
Views 14K
Comments 4

Заметка о калибровке датчиков положения в домашних условиях

DIY Electronics for beginners
Tutorial
Для некоторых датчиков ускорения требуется дополнительная калибровка нуля после монтажа на плату. Когда я увидел несколько исходников с калибровкой датчиков ускорения, где составляющая G учитывалась просто путём вычитания из оси Z величины = 9,8 м/с2 — появилась идея написать данную заметку.


Читать дальше →
Total votes 25: ↑24 and ↓1 +23
Views 21K
Comments 22

Фильтр Маджвика

Algorithms *Mathematics *
Translation

Предисловие от переводчика


Здесь представлен один из новейших методов расчёта ориентации в пространстве по показаниям датчиков акселерометра, гироскопа и компаса — фильтр Маджвика, который, по словам автора, даёт результат лучший, чем применение фильтра на основе метода Калмана в результатах и производительности. Автор — Себастьян Маджвик (его интернет-магазин). Метод описан в статье на английском. Данная работа защищена в Университете г. Бристоля Перевода я не нашёл. Переводчик из меня так себе, особенно таких сложных текстов. Но нам же интересно, что за метод?

Кое-где буду от себя добавлять — там текст выделен курсивом. Мною найдено более 10 опечаток в оригинальном тексте. Вообще было довольно трудно, поэтому помощь приветствуется — пишите в комментариях, где перефразировать нужно, в общем, где что не так.


Читать дальше →
Total votes 66: ↑64 and ↓2 +62
Views 120K
Comments 17

Имитация показаний датчиков с помощью массива точек пути

Algorithms *Mathematics *


Структура публикации


  • Оговорка про крен
  • Подготовка GPS-трека
  • Как из массива векторов получить углы Крылова-Эйлера
  • Имитация показаний гироскопа
  • Вектор ускорения свободного падения и направление «на север»
  • Имитация показаний акселерометра, компаса и барометра


Для отладки алгоритма, работающего с датчиками инерциальной навигации, может потребоваться имитировать показания этих самых датчиков. Например, вы имеете отладочную последовательность точек пути, имитирующую определённую ситуацию. Вы можете иметь некий GPS-трек, имеющий особенности, или напротив их не имеющий. В моём случае результат полевых испытаний есть, а плата ещё не готова (в производстве) — нужно чем-то заняться.
Читать дальше →
Total votes 30: ↑30 and ↓0 +30
Views 22K
Comments 4

Заметки о вращении вектора кватернионом

Algorithms *Mathematics *
Sandbox

Структура публикации


  • Получение кватерниона из вектора и величины угла разворота
  • Обратный кватернион
  • Умножение кватернионов
  • Поворот вектора
  • Рысканье, тангаж, крен
  • Серия поворотов


Получение кватерниона из вектора и величины угла разворота


Ещё раз – что такое кватернион? Для разработчика – это прежде всего инструмент, описывающий действие – поворот вокруг оси на заданный угол:

(w, vx, vy, vz),

где v – ось, выраженная вектором;
w – компонента, описывающая поворот (косинус половины угла).
Читать дальше →
Total votes 24: ↑19 and ↓5 +14
Views 97K
Comments 22

Information

Rating
Does not participate
Location
Россия
Works in
Registered
Activity