В двух словах — продвинутые таблицы. Ориентирован на отдельных разработчиков или микрокоманды из двух-трех человек. Подходит начинающим разработчикам и бизнес-аналитикам, желающим превратить свое понимание бизнеса в готовое решение или быстро разработать проект под конкретного клиента. Для небольших бизнес-ниш — в которых нет типовых решений. Small-code принцип — множество простых, ситуационных кодов. Есть подробная документация и видео. Устанавливается на собственный сервер за 5 мин. Со временем позволит выгружать разработанные на нем решения с коммерческими лицензиями с использованием встроенной защиты.
User
Мониторинг сайта с помощью Google Docs
![](https://habrastorage.org/storage2/0b0/ce7/9ac/0b0ce79acce9fc6f8a4dd7dafeb84b43.png)
Автор блога Digital Inspirations Амид Агарвал (Amit Agarwal) опубликовал скрипт для Google Docs, который опрашивает статус сайта и заносит ответ в ячейку таблицы. Таким образом, можно сделать сервис мониторинга своими руками. Google Docs позволяет запускать скрипт с минутным интервалом и получать уведомления на email.
Памятка пользователям ssh
![](https://habrastorage.org/getpro/habr/post_images/784/133/dac/784133dac3a6daa093e5a8174962be7f.png)
Предупреждение: пост очень объёмный, но для удобства использования я решил не резать его на части.
Оглавление:
- управление ключами
- копирование файлов через ssh
- Проброс потоков ввода/вывода
- Монтирование удалённой FS через ssh
- Удалённое исполнение кода
- Алиасы и опции для подключений в .ssh/config
- Опции по-умолчанию
- Проброс X-сервера
- ssh в качестве socks-proxy
- Проброс портов — прямой и обратный
- Реверс-сокс-прокси
- туннелирование L2/L3 трафика
- Проброс агента авторизации
- Туннелирование ssh через ssh сквозь недоверенный сервер (с большой вероятностью вы этого не знаете)
Как настроить Elasticsearch, чтобы не было утечек
Сразу оговоримся, что в своей практике используем Elasticsearch для хранения логов и анализа журналов средств защиты информации, ОС и ПО в нашей IaaS-платформе, соответствующей требования 152-ФЗ, Cloud-152.
![](https://habrastorage.org/webt/ej/_g/_r/ej_g_r23bt2k_22t7is7rg7l6ys.jpeg)
Собрали всем «Хабром» справочник «Кем выдан…» для паспортов. Качайте на здоровье
![](https://habrastorage.org/webt/4r/2k/de/4r2kdef9h3fieollcezqj2vwszk.jpeg)
С пару месяцев назад мы поэкспериментировали: получится ли на «Хабре» собрать годный справочник подразделений, выдавших российские паспорта. Дело полезное: эти данные нужны много кому, канонического источника нет, а существующие — очень так себе.
И знаете, все получилось. Пригодный к использованию справочник готов, можно качать и пользоваться. А еще мы сделали подсказки, которые ускоряют ввод подразделений в электронные формы.
Задача со звездочкой: как мы перекодировали ФИАС в КЛАДР
![](https://habrastorage.org/webt/kw/k8/eg/kwk8egeivck-kxxzflo5ztqwhza.jpeg)
С 1 января ФНС перестанет обновлять адресный справочник КЛАДР. Он официально устареет, останется один ФИАС. Но многие промышленные системы до сих пор работают с КЛАДР. Поставщики не собираются их обновлять, а переделывать своими руками бизнесу выходит долго и дорого.
Мы послушали клиентов и придумали решение: взять ФИАС, который живее всех живых, и написать перекодировщик в КЛАДР.
Со стороны задача кажется легкой. Нам так и говорили: «То есть вы просто берете ФИАС и переделываете в КЛАДР?». На деле никакого «просто» нет. У справочников совсем разные структуры и непонятно, как из подкачанного ФИАС раскидать данные в неказистый КЛАДР. При этом общей документации для справочников нет.
Это было веселье, которым мы сейчас щедро поделимся.
Увидеть лес за деревьями
Желающим почитать про структуру леса, воззрения на структуру леса и историю этих воззрений — добро пожаловать. Я сокращал, как мог — и все равно получился скорее литературный обзор, и это только первая часть.
Но по крайней мере, будет на что ссылаться в дискуссиях.
![](https://habrastorage.org/webt/x0/up/0q/x0up0qwojk3ym7byfos8vjk7g2o.jpeg)
Как нас анализируют в магазинах и ресторанах — продолжение истории
В первой части статьи я рассказывал про новый инструмент для бизнеса по подсчету и анализу людского трафика с помощью видеокамер. На рынке представлено довольно много продуктов по подсчету людей, но практически нет таких, которые это делают методом анализа человеческого лица. При распознавании лиц можно получить следующую информацию: пол, возраст, эмоциональный фон и, собственно, самое главное, уникальный идентификатор лица. Последнее нужно для того, чтобы понимать, что это лицо мы видели ранее: тогда-то, столько-то раз, с такой-то периодичностью и т.п.
![](https://habrastorage.org/webt/eh/65/dv/eh65dvyxrilfnhnfen5lbpwmqhe.jpeg)
Данные видеоаналитики прекрасно используются в ритейле, сфере услуг, кафе и ресторанах. Теперь можно более предметно и точно анализировать покупателей: их трафик, уникальность, повторяемость, пол и возраст и, конечно, эмоции. В счетчике по лицам можно наконец-то отделять сотрудников от посетителей, считать длительность обслуживания и выстраивать маркетинговые активности по увеличению лояльности покупателей.
Напомню, что для примера взята одна точка – кафе (по принципу столовой) в Москве, в котором камера установлена на кассе.
Как магазин в торговом центре узнаёт вас по Wi-Fi (точнее, по MAC-адресу) — на базе обычных хотспотов
![](https://habrastorage.org/web/fa7/2da/129/fa72da129f104af29e8eb8fd2a7c5fd3.png)
В случае одной точки это используется как счётчик посетителей на уровне «за вчера 182 человека зашло в магазин, из них 34 уже у нас были», а если точек три или больше — можно уже трассировать потоки людей и видеть наиболее интересные им товары:
![](https://habrastorage.org/web/3fd/d3a/227/3fdd3a227ca04ed3be94ca602e87b8b2.png)
Ещё раз: никакого спецоборудования, обычные точки Wi-Fi Cisco и софт для обработки их логов. От модели точки доступа Cisco зависит точность. В нашей схеме нужен ещё аплинк до сервера аналитики, где также развёрнут виртуальный контроллер Cisco — точки сгружают ему логи.
Mail.Ru Design Conference + Dribbble Meetup 2018
![image](https://habrastorage.org/getpro/habr/post_images/972/ebd/3ce/972ebd3ce56a24d482e7ecf3a22e95e5.png)
2 июня в Москве прошла Mail.Ru Design Conference + Dribbble Meetup 2018. Мы проводим мероприятие в седьмой раз и оно окончательно выросло из формата митапа в большую конференцию про продуктовый дизайн. На ней выступили команды Norde, RealtimeBoard, Rambler & Co, Сетка, Альфа-Банк, Phase, Future London Academy, Mail.Ru, БЭМ Дизайн, S7, Mentor Forces, а также Дима и Лета Штольц, Тарас Бризицкий и Илья
Сидоренко.
SSLH: Прячем SSH/HTTPS/OpenVPN/Telegram за единым портом 443
![image](https://habrastorage.org/webt/59/e9/b8/59e9b8c7362d2110274674.jpeg)
SSH/HTTPS/OpenVPN/Telegram и всё на одном порту?! Что?!
— Да!
- Хотите скрыть наличее у вас некоторых сервисов?
- В публичной wi-fi сети блокируется всё кроме 443 (https) порта?
- Настроили Telegram Proxy/OpenVPN и не хотите его «светить» ?
- SSH подключение к своему серверу из стран с цензурой?
На все эти вопросы ответ один — Мультиплексирование SSL/TLS соединений, или SSLH.
В посте мы рассмотрим как в 1 команду спрятать кучу сервисов за 1 портом.
Парочка неочевидных граблей при использовании веб-шрифтов
При осуществлении этой казалось бы простой для современного веба задачи была поймана пара интересных и неочевидных граблей, о которых хотелось бы рассказать
КДПВ, она же грабли #1
![](https://habrastorage.org/webt/ob/fn/qc/obfnqceosigywl_zgfrujy5efzq.jpeg)
Как работают многоканальные телефонные номера
![](https://habrastorage.org/webt/u_/rl/9g/u_rl9gg4twjv980jyabtqr6aem4.jpeg)
Недавно на Хабре была статья про «необычные» DEF-номера. Под необычностью скрывалась «многоканальность» — возможность принимать на номер несколько параллельных звонков (а разговаривать по ним будут операторы колл-центра). Целых пять одновременных разговоров и восклицательный знак в конце фразы! Под катом я расскажу про многоканальность не с маркетинговой, а с технической точки зрения. Как операторы «принимают» звонки, чем «необычный DEF-номер» отличается от «обычного ABC-номера», и много это или мало — целых пять параллельных звонков? Кстати, почему именно пять, а не двадцать или сто?
Отправка Nginx-логов в Google Analytics
![image](https://habrastorage.org/getpro/habr/post_images/ef2/e07/09d/ef2e0709d3304f3476278718420e3ed9.png)
С наших Download-серверов каждый день скачивается несколько миллионов драйверов (статичных .exe и .zip файлов). Для анализа поведения пользователей перед нами встала задача посчитать следующие параметры: когда, сколько, как часто и даже кто именно скачивает драйверы.
Самым очевидным решением было бы использовать инструменты типа AWstat, GoAccess, ELK stack или Splunk, а в крайнем случае собирать логи Nginx.
Но у каждого варианта есть свои минусы: неудобный интерфейс, скудность данных, сложность настройки и, самое главное, отсутствие возможности строить сегменты в пользовательских отчётах.
И тогда мы решили заставить Nginx самостоятельно отправлять события в Google Analytics сразу же после скачивания файла. Мы также смогли передать в GA уникальный идентификатор пользователя ClientID.
В результате мы получили аналитику по статичным файлам, к которым раньше невозможно было привязать счетчик GA.
Под катом готовый конфиг и примеры работы нашей системы.
Цифровая экономика и экосистема R
Если смотреть прессу, словосочетание «цифровая экономика» ожидается одним из популярных в ближайшие несколько лет.
Но чтобы от перейти от слов к делу и действительно совершить цифровой скачок необходимо пересмотреть подходы и используемые инструменты. В рамках настоящей публикации, являющейся продолжением предыдущих публикаций, планирую кратко проиллюстрировать, тезис о том, что применение в бизнесе R экосистемы прекрасно вписывается в задачу перехода к цифровой экономике.
Адаптивные email-письма без боли и страданий
В этой статье мы хотим поделиться с вами рецептами верстки красивого, на наш взгляд, и адаптивного письма, которое будет подстраиваться под экран вашего телефона даже в Gmail. А так же рассказать про нюансы, проблемы и тонкости, с которыми мы столкнулись в процессе его создания.
Ускорьте ваш сайт с помощью машинного обучения
![](https://habrastorage.org/web/693/35e/986/69335e9861d54a1ab4f1a89befa044b8.png)
Многие из нас постоянно думают о производительности веб-приложений: добиваются 60 FPS на медленных телефонах, загружают свои ассеты в идеальном порядке, кэшируют всё что можно, и много чего ещё.
Но не является ли такое представление о производительности веб-приложений слишком ограниченным? С позиции пользователя все эти действия — лишь крошечный кусок большого пирога производительности.
В этой статье мы пройдёмся по всем этапам использования сайта, как если бы это делал обычный человек, измерив длительность каждого из них. И особое внимание уделим конкретному шагу на одном конкретном сайте, который может быть ещё больше оптимизирован. Хочется верить, что решение (которым будет машинное обучение) может быть использовано во многих различных случаях на разных сайтах.
Пример написания функциональных требований к Enterprise-системе
Целью нашей разработки было создание с нуля учетной системы для одной из крупных российских компаний. Система была призвана заменить текущую, написанную в конце 90-х. В результате были реализованы платформа и один из бизнес-модулей. В реализованной части было порядка 120 объектов, 180 таблиц, около 30 печатных форм.
Хочу оговориться, что подход, описанный ниже, не универсален для написания любого ПО. Он подходит для систем уровня предприятия, которые строятся на основе объектно-ориентированного подхода: учетных, CRM-, ERP-систем, систем документооборота и т.п.
Вся документация на наш программный продукт состояла из следующих разделов:
- Общая часть
• Список терминов и определений
• Описание бизнес-ролей
- Требования
• Бизнес-требования
- Общие сценарии
- Сценарии использования
- Алгоритмы и проверки
• Нефункциональные требования
• Требования к интеграции
• Требования к пользовательскому интерфейсу - Реализация
- Тестирование
- Руководства
- Управление
Яндекс открывает технологию машинного обучения CatBoost
![](https://habrastorage.org/web/614/0d7/6bb/6140d76bb425435db5182f506382f511.png)
CatBoost – это новый метод машинного обучения, основанный на градиентном бустинге. Он внедряется в Яндексе для решения задач ранжирования, предсказания и построения рекомендаций. Более того, он уже применяется в рамках сотрудничества с Европейской организацией по ядерным исследованиям (CERN) и промышленными клиентами Yandex Data Factory. Так чем же CatBoost отличается от других открытых аналогов? Почему бустинг, а не метод нейронных сетей? Как эта технология связана с уже известным Матрикснетом? И причем здесь котики? Сегодня мы ответим на все эти вопросы.
Создание Tinkoff Design System. Первые шаги
![](https://habrastorage.org/files/884/294/6cc/8842946cce8f405f909d50a22fa3c840.png)
Information
- Rating
- Does not participate
- Registered
- Activity